
package modelo.bo.cmd.hibernate;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import modelo.bo.cmd.Acao;
import modelo.bo.cmd.EICommand;
import modelo.dao.hibernate.impl.GrupoImpl;
import modelo.dao.hibernate.inter.ICrudDAOJPA;
import modelo.dao.hibernate.util.DAOException;
import modelo.dao.hibernate.util.PersistenciaJPA;
import modelo.dao.util.ConexaoMySQL;
import modelo.dto.EEntidade;
import modelo.dto.entity.Grupo;

public class CadastrarGrupo extends Acao {
	private Grupo grupo;
	
	@Override
	public void init(HttpServletRequest request) {
		super.pagina = String.format("/contato/agenda.do?entidade=%s&cmd=%s",
				EEntidade.CONTATO.name(), EICommand.CARREGAR_FORM_CONTATO);
		grupo = new Grupo();
		grupo.setNomeGrupo(request.getParameter("nomeGrupo"));

	}

	@Override
	public boolean executar(HttpServletRequest request, HttpServletResponse response) throws IOException {
		String msg = String.format("Grupo %s cadastrado com sucesso.", this.grupo.getNomeGrupo());
		
		try {
			PersistenciaJPA.getEntityManager();
			ICrudDAOJPA<Grupo> gi = new GrupoImpl(PersistenciaJPA.getEntityManager());
			
			gi.addEntity(this.grupo);
			
			request.setAttribute("msg", msg);
									
		}
		catch (DAOException e) {
			e.printStackTrace();
        	msg = "Erro ao tentar cadastrar um novo grupo \n";
        	System.out.println(msg+e.getMessage());
			request.setAttribute("msg", msg+e.getMessage());
		}		
		
		return super.efetuou;
	}

	@Override
	public String retornaPagina() {
		return super.pagina;
	}

}
